<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Changes in GTK+ 3.10: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="gtk-migrating-3-x-to-y.html" title="Migrating from one GTK+ 3 release to another">
<link rel="prev" href="ch32s04.html" title="Changes in GTK+ 3.8">
<link rel="next" href="ch32s06.html" title="Changes in GTK+ 3.12">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="gtk-migrating-3-x-to-y.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ch32s04.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="ch32s06.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id-1.6.9.8"></a>Changes in GTK+ 3.10</h2></div></div></div>
<p>
      GDK has been changed to allow only a single screen per display.
      Only the X11 backend had multiple screens before, and multi-screen
      setups (not multi-monitor!) are very rare nowadays. If you really
      need multiple X screens, open them as separate displays.
    </p>
<p>
      The behavior of GtkBox::expand has been changed to never propagate
      up. Previously, this was happening inconsistently. If you want the
      expand to propagate, use the GtkWidget h/v expand properties.
      If you experience sizing problems with widgets in ported code,
      carefully check the expand and fill flags of your boxes.
    </p>
<p>
      GtkBin no longer provides default implementations for
      get_height_for_width, subclasses now have to provide their own
      implementation if they need height-for-width functionality.
    </p>
<p>
      Widget state propagation has been changed. Historically, all of
      active, prelight, selected, insensitive, inconsistent and backdrop
      have been propagated to children. This has now been restricted
      to just the insensitive and backdrop states. This mostly affects
      theming.
    </p>
<p>
      The way widget drawing happens has changed. Earlier versions handled
      one expose event per GdkWindow, each with a separate cairo_t. Now we
      only handle the expose event on the toplevel and reuse the same
      cairo_t (with the right translation and clipping) for the entire
      widget hierarchy, recursing down via the GtkWidget::draw signal.
      Having all rendering in the same call tree allows effects like
      opacity and offscreen rendering of entire widget sub-hierarchies.
      Generally this should not require any changes in widgets, but
      code looking at e.g. the current expose event may see different
      behavior than before.
    </p>
<p>
      The Gtk+ scrolling implementation has changed. <code class="function">gdk_window_scroll()</code>
      and <code class="function">gdk_window_move_region()</code> no longer copy the region on the
      window, but rather invalidate the entire scrolled region. This is
      slightly slower, but allowed us to implement a offscreen surface
      scrolling method which better fits modern hardware. Most scrolling
      widgets in Gtk+ have been converted to use this model for scrolling,
      but external widgets implementing scrolling using GdkWindow may see
      some slowdown.
    </p>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>